package main.java.difficult;
/**
 * @Author: Yeman
 * @Date: 2023-07-01-10:08
 * @Description: 给你一个字符串 s 和一个字符规律 p，请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
 * '.' 匹配任意单个字符
 * '*' 匹配零个或多个前面的那一个元素
 */
public class Match {
    public static boolean isMatch(String s,String p){
        if (s==null || p==null){
            return false;
        }
        int i=0,j=0;
        while (i<s.length() && j<p.length()){
            System.out.println(i+":"+s.charAt(i)+" "+
                    j+":"+p.charAt(j));
            if (s.charAt(i)==p.charAt(j) || p.charAt(j)=='.'){
                i++;
                j++;
            } else if (p.charAt(j)=='*') {
                if (s.charAt(i)==p.charAt(j-1)){
                        i++;
                } else return false;
            } else return false;
        }
        return true;
    }
    public static void main(String[] args) {
        String a = "aaaaaa", b = "a*b", c = ".b";
        System.out.println(isMatch(a, b));
    }
}
